# coding:UTF-8
import numpy as np
import matplotlib.pyplot as plt
img = plt.imread('./微信图片_20240918164253.jpg') # 读取图片
plt.imshow(img) # 传入数组显示对应颜色

# 图像灰度处理
# img为三维数组，最高维时图像的高，次高维是图像的宽，最低维RGB是颜色值
grayimg = np.array([0.299,0.587,0.114]) # 灰度公式的固定值
x = np.dot(img,grayimg) # 将数组img（RGB颜色的值）和数组n2（灰度公式的固定值）中的每个元素进行点乘运算
plt.imshow(x,cmap="gray") # 传入数组显示灰度

plt.show() # 显示图像

# 三个通道的图像
R_img = img.copy()
R_img[:,:,[0,2]] = 0
G_img = img.copy()
G_img[:,:,[2,1]] = 0
B_img = img.copy()
B_img[:,:,[0,1]] = 0
fig,ax = plt.subplots(1,4)  # 画布大小
ax[0].imshow(img)
ax[1].imshow(R_img)
ax[2].imshow(G_img)
ax[3].imshow(B_img)
fig.set_size_inches(7,4)  # 尺寸大小
plt.tight_layout()  # 防止子图出现覆盖
plt.show() # 图像显示

